package com.nextel.project.pedido.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.ui.OImage;


import com.nextel.ui.OLabel;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OTextField;
import com.nextel.ui.OUILook;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.math.MathUtil;

/**
 *
 * @author amendiola 27/09/2010
 */
public class MVCPedidoObservacion extends MVCAction {   
    private OSoftKey cmdFin, cmdAtras; //aMendiola 27/09/2010
    private boolean flagForm; // para que no presione dos veces al momento de buscar
    private OTextField txtObservacion; 

    protected void createView()  {
        cmdFin = new OSoftKey(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_FINALIZAR));//"Finalizar"
        cmdAtras = new OSoftKey(Configuracion.BOTON_ATRAS);

        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_OBS), OUILook.PLAIN_SMALL_TITLE);//"Finalizar"

        formulario.addSoftKey(cmdFin);
        formulario.addSoftKey(cmdAtras);

    }    
    
    protected void createItems() {
       flagForm = true;
        
       //aMendiola 27/09/2010, Se agrega el campo de observaci�n al pedido.
       formulario.add(new OLabel(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_OBS) + ": ",OUILook.PLAIN_SMALL_TEXT));       
       txtObservacion = new OTextField(25, OUILook.PLAIN_SMALL_TEXT, OTextField.ANY); 
       txtObservacion.allowSpaces(true);
       //txtObservacion.allow(OTextField.ALL_SPECIAL_CHARACTERS);       
       

       txtObservacion.setText(ControlPedido.getInstance().currentPedido.getObservaciones());
       formulario.add(txtObservacion);
    }
    
    public void performAction(OSoftKey c) {
        if (flagForm) {
            flagForm = false;

            if (c == cmdFin) {
                destroy();
                //aMendiola 12/09/2010 (Se agreg� la l�gica de observaci�n.)
                ControlPedido.getInstance().currentPedido.setObservaciones(txtObservacion.getText().trim());                
                ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcPedidoFin);
            } else if (c == cmdAtras) {
                destroy();
                //Se graba la observaci�n en memorio para tenerla disponible cuando se regrese a esta p�gina.
                ControlPedido.getInstance().currentPedido.setObservaciones(txtObservacion.getText().trim());
                ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcProductoPedido);
            }            
        }
    }    
}
